#pragma once

#include "fxcc/core/graph/opengl3/impl.h"

#include "fxcc/imgui/pch.h"

#include "imgui_impl_glfw.h"
#include "imgui_impl_opengl3.h"

namespace fxcc
{
    namespace imgui
    {
        namespace graph
        {
            namespace opengl3
            {

                struct FXCC_API GlfwApp : public fxcc::graph::opengl3::GlfwApp
                {

                    GlfwApp(const fxcc::graph::opengl3::GlfwApp::Desc &desc) : fxcc::graph::opengl3::GlfwApp(desc) {};

                    bool InitImGui();

                    virtual bool Init();

                    int Run();

                    virtual void OnEdit();

                    virtual void OnDestroy();
                };
            };
        }
    };
};
